package com.example.mapper;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.dto.SpuDto;
import com.example.entity.SSpu;
import com.example.vo.SSpuVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 鞋子商品表(spu)，例如特步老人鞋 Mapper 接口
 * </p>
 *
 * @author zh
 * @since 2024-05-13 10:36:20
 */
@Mapper
public interface SSpuMapper extends BaseMapper<SSpu> {

    IPage<SSpuVO> findPage(Page<SSpuVO> page,@Param("spuDto")SpuDto spuDto);

    IPage<SSpuVO> findPageBySalesAsc(Page<SSpuVO> page,@Param("spuDto")SpuDto spuDto);

    IPage<SSpuVO> findPageBySalesDesc(Page<SSpuVO> page,@Param("spuDto")SpuDto spuDto);

    IPage<SSpuVO> findPageByPriceAsc(Page<SSpuVO> page,@Param("spuDto")SpuDto spuDto);

    IPage<SSpuVO> findPageByPriceDesc(Page<SSpuVO> page,@Param("spuDto")SpuDto spuDto);

    List<SSpuVO> sales();

    List<SSpuVO> getRecommend();


    IPage<SSpuVO> frontfindPage(Page<SSpuVO> page, SpuDto spuDto);

    IPage<SSpuVO> frontfindPageBySalesAsc(Page<SSpuVO> page, SpuDto spuDto);

    IPage<SSpuVO> frontfindPageBySalesDesc(Page<SSpuVO> page, SpuDto spuDto);

    IPage<SSpuVO> frontfindPageByPriceAsc(Page<SSpuVO> page, SpuDto spuDto);

    IPage<SSpuVO> frontfindPageByPriceDesc(Page<SSpuVO> page, SpuDto spuDto);

    SSpuVO getOneSpuVO(Long id);
}
